The present invention relates to a method and apparatus for mapping the organizational structure and work flow of a community of users from a database. The invention uses an online computer applications service that facilitates the initiation and completion of transactions between users in the community in order to attract and invite users from the community onto the service and build the database. As more and more users from the community are attracted to the service and such users initiate and complete more and more transactions with each other, the database grows by storing information about each transaction between two or more users from the community. After a sufficient number of transactions are recorded in the database, the database becomes rich with information representing the organizational structure and work flow of the community, and this information can then be extracted and mapped by querying the database.
Databases are widely used in computer applications to collect, store and retrieve user information. For example, once a user inputs user information into a particular computer application, the information can be used by the application to prefill application pages, thus streamlining the user""s successive uses of the application. For example, computer applications, such as world wide web (xe2x80x9cWWWxe2x80x9d) e-commerce applications, use databases to collect, store and retrieve a user""s billing address, credit card information, and previous purchases. This information is then used to prefill web page forms upon successive uses of the WWW e-commerce applications. Other examples of such computer applications include stock tracking applications and travel reservation applications.
Existing computer applications, however, do not derive the structure of a group of people, or community, communicating over a computer network. This structural information would be quite useful in determining, analyzing, and improving how people work together. Further, these computer applications are limited in that, without an understanding of a particular community structure, they cannot predict the next step in a community procedure or derive work flow procedures and rules for a particular community.
It is therefore, an object of the present invention to provide a method for building a database that stores transaction information representative of an organizational structure of a community of users of a computer network.
It is another object of the present invention to provide a system for deriving the structure of a community whose people interact with one another on a computer network through a computer applications service.
It is another object of the present invention to provide a system for predicting the next step in a work flow process for a particular community whose people interact with one another on a computer network through a computer applications service.
It is another object of the present invention to provide a system for deriving work flow procedures and rules for a particular community whose people interact with one another on a computer network through a computer applications service.
It is another object of the present invention to provide a system for branding users of a particular community to track the identity of a third-party web site that refers or attracts each user of the community to the computer applications service.
These and other objects of the invention will become apparent from the description of the invention that follows.
The present invention is directed to a system and method for building a database that stores information representative of the organizational structure of a community of users of a computer network. In one example, the community of users corresponds to the employees of a particular business. In another example, the community of users corresponds to suppliers and customers from various businesses. The invention uses an online computer applications service that facilitates the initiation and completion of transactions (e.g., vacation requests or purchase order approvals) between users in the community (e.g., subordinates and managers in the business or between purchasers in one business and suppliers in another) over a computer network such as the internet. Initially, a first user from the community (e.g., an employee of the business) registers on the computer applications service and information representative of the first user is stored in the database. In one embodiment, the first user from the community is referred to the service via a banner advertisement or hyperlink on a third-party web-site. In another embodiment, the first user accesses the service directly through the service""s universal resource locator on the world-wide-web. Next, a first transaction record is created in the database from information inputted by the first registered user. In the illustrative example, the first transaction request corresponds to a vacation request that the first registered user is making to his/her manager at the company, and the manager is not a registered user of the service when the first transaction is initiated. The first transaction record includes at least one field representing an identity of a first unregistered user (e.g., the manager that will receive and be required to approve the vacation request) in the community, a field representing a role (e.g., requester) of the first registered user in the first transaction, and a field representing a role (e.g., approver) of the first unregistered user in the first transaction.
After creation of the first transaction record, the first unregistered user (e.g., the manager) is invited to register with the service when information representative of the first transaction is sent to the first unregistered user. In other words, in the illustrative example, the manager is invited to register with the service at the time that the vacation request is sent to the manager for approval. In response to this invitation, the first unregistered user registers with the service and information representative of the first unregistered user is stored in the database, thereby transforming the first unregistered user (e.g., the manager) into a second registered user.
After registration of the second user, further users from the community (e.g., further employees of the business) are invited onto the service and registered on the database by repeating the above process. Thus, further unregistered users from the community are registered with the service by repeating the following steps: (i) creating a further transaction record in the database from information inputted by a given registered user, wherein the further transaction record includes at least one field representing an identity of a given unregistered user in the community, a field representing a role (e.g., requestor) of the given registered user in the further transaction, and a field representing a role (e.g., approver) of the given unregistered user in the further transaction, (ii) inviting the given unregistered user to register with the service by transmitting information representative of the further transaction (e.g., a vacation request or purchase order approval request) to the given unregistered user over the computer network (e.g., the internet), and (iii) registering the given unregistered user with the service in response to the invitation, by storing information representative of the given unregistered user in the database, thereby transforming the given unregistered user into a registered user. There can be numerous transactions that involve a non-registered user, prior to registration of that non-registered user.
In addition, as the database of the present invention is being constructed through transactions between registered and unregistered users resulting in further registration of users from the community with the service, the present invention also preferably stores information about the organizational relationships of existing users, whether registered or unregistered, by facilitating the initiation and completion of transactions between such users. Thus, further information representative of the organizational structure of the community of users is stored by repetition of the following step: creating a still further transaction record in the database from information inputted by a registered user initiating the still further transaction, wherein the still further transaction record includes at least one field representing an identity of a user, whether registered or unregistered, in the community required to approve the still further transaction, a field representing a role (e.g., requester) of the registered user initiating the still further transaction in the still further transaction, and a field representing a role (e.g., approver) of the user, whether registered or unregistered, in the still further transaction.
In accordance with a further aspect of the present invention, after the database is built using the methods described above, the database is queried in order to derive or map the organizational structure of the community of users. Thus, in the illustrative example, the transaction records corresponding to the transaction requests (e.g., the vacation requests and the purchase order requests) made by the employees of the business using the service are searched and processed in order to derive the organization structure of the business. This aspect of the invention makes certain assumptions such as, for example, that a person making a vacation request is lower on the reporting structure of a company than the person approving the request. It is noted, however, that such assumptions may be changed in the present invention. Using such assumptions and the xe2x80x9crolexe2x80x9d information stored in the transaction records, the present invention maps the organization structure of the users in the community (e.g., the reporting structure of the employees in the business). In addition, the present invention uses data base query techniques known in the art to query the information stored in the transaction records to map the work flow structure of the users in the community.
In accordance with a still further aspect, the present invention is able to predict the recipient or approver of certain transactions at the time that such transactions are being authored using information stored in the database from past transactions involving users in the same community. Thus, for example, if an employee from the company is authoring a vacation request, the system uses the information stored in the database to predict the person that should receive the request for approval. In a particularly preferred aspect, where a particular user making a vacation request has, for example, not made a previous vacation request, the present invention predicts the identity of the user, whether registered or unregistered, in the community required to approve the vacation request by querying the database to identify a peer of the user making the vacation request, and then selecting a manager of the peer as the user, whether registered or unregistered, in the community required to approve request. The present invention then populates the approver field of the vacation request at the time that it is being created with the predicted approver.
In accordance with a still further aspect of the present invention, the method for building a database that stores information representative of an organizational structure of a community of users of a computer network includes the steps of storing information representative of a first user from the community in the database, wherein a computer applications service records initiation and completion of transactions between users in the community, creating a first transaction record in the database from information inputted by the first user, wherein the first transaction record includes at least one field representing an identity of a second user in the community, a field representing a role of the first user in the first transaction, and a field representing a role of the second user in the first transaction, transmitting information representative of the first transaction to the second user, and storing further information representative of the organizational structure of the community of users by creating a further transaction record in the database from information inputted by a user initiating the further transaction, wherein the further transaction record includes at least one field representing an identity of a user in the community required to act on the further transaction, a field representing a role of the user initiating the further transaction in the further transaction, and a field representing a role of the user acting on the further transaction in the further transaction, and repeating the additions to the further transactions record as new transactions occur.